/*
 * Copyright (c) Hunan Goke,Chengdu Goke,Shandong Goke. 2021. All rights reserved.
 */
#ifndef __SC2231_CMOS_EX_H_
#define __SC2231_CMOS_EX_H_

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

static const ISP_CMOS_LCAC_S g_stIspLCac = {

    /*bEnable*/
    1,
	/*u16PurpleDetRange*/
	30,
	/*VarThr*/
	0,
    /*au16RLumaThd*/
    {1500, 1500, 0},
    /*au16GLumaThd*/
    {1500, 1500, 0},
    /*au16BLumaThd*/
    {4095, 1500, 0},
    /*au16YLumaThd*/
    {3200, 1500, 0},
    /*as16CbCrRatio*/
    { -50, -50, -50},    
	/*enOpMode*/
    0,
    /*stManual*/
    {
        //u8DePurpleCrStr
        0,
        //u8DePurpleCbStr
        3
    },
    /*stAuto*/
    {
        //u8DePurpleCrStr
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        //u8DePurpleCbStr
        {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}
    }
};


static const ISP_CMOS_LCAC_S g_stIspLCacWdr = {
	
	/*bEnable*/
	1,
	/*u16PurpleDetRange*/
	30,
	/*VarThr*/
	130,
    /*au16RLumaThd*/
    {1500, 1500, 0},
    /*au16GLumaThd*/
    {1500, 1500, 0},
    /*au16BLumaThd*/
    {4095, 1500, 0},
    /*au16YLumaThd*/
    {3200, 1500, 0},
    /*as16CbCrRatio*/
    { -50, -50, -50},    
	/*enOpMode*/
	0,
	/*stManual*/
	{
		//u8DePurpleCrStr
		0,
		//u8DePurpleCbStr 
		3
	},
	/*stAuto*/
	{
		//u8DePurpleCrStr
		{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
		//u8DePurpleCbStr		
		{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
	}
};


static const ISP_CMOS_DPC_S g_stCmosDpc = {
    /* ISO */
    /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800 */
    { 120,   130,   150, 200,  220,  230,  230,   240,   240,   240,    152,    152,    152,    152,     152,     152}, /* au16Strength[16] */
    {  18,    24,    32,  32,   32,   36,   36,    36,    36,    40,     50,     50,     50,     50,      50,      50}, /* au16BlendRatio[16] */
    0,       /* 0 for after drc, 1 for before wdr */
};

static const ISP_CMOS_GE_S g_stIspGe = {
    /* For GE */
    1,    /* bEnable */
    13,    /* u8Slope */
    13,    /* u8SensiSlope */
    4800, /* u16SensiThr */
    /* ISO */
    /*   1,    2,      4,     8,    16,    32,    64,   128,   256,   512,  1024,  2048,  4096,  8192, 16384, 32768 */
    { 4800,  4800,  4800,  4800,  4960,  4960,  4960,  4960,  5120,  5120,  5120,  5120,  5280,  5280,  5280,  5280}, /* au16Threshold[ISP_AUTO_ISO_STRENGTH_NUM] */
    {  128,   128,   128,   128,   129,   129,   129,   129,   130,   130,   130,   130,   131,   131,   131,   131}, /* au16Strength[ISP_AUTO_ISO_STRENGTH_NUM] */
    {16384, 16384, 16384, 16384, 16384, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768} /* au16NpOffset[ISP_AUTO_ISO_STRENGTH_NUM] */
};

static const ISP_CMOS_GE_S g_stIspWdrGe = {
    /* For GE */
    1,    /* bEnable */
    13,    /* u8Slope */
    13,    /* u8SensiSlope */
    4800, /* u16SensiThr */

    /* ISO */
    /*  1,    2,    4,    8,   16,   32,   64,   128,  256,  512, 1024, 2048, 4096, 8192,16384, 32768 */
    { 4800,  4800,  4800,  4800,  4960,  4960,  4960,  4960,  5120,  5120,  5120,  5120,  5280,  5280,  5280,  5280}, /* au16Threshold[ISP_AUTO_ISO_STRENGTH_NUM] */
    {  128,   128,   128,   128,   129,   129,   129,   129,   130,   130,   130,   130,   131,   131,   131,   131}, /* au16Strength[ISP_AUTO_ISO_STRENGTH_NUM] */
    {16384, 16384, 16384, 16384, 16384, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768} /* au16NpOffset[ISP_AUTO_ISO_STRENGTH_NUM] */
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaic = {
    1,    // bEnable
    /* au8NonDirStr */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64,   64,   64,   64,   64,   64,   64,    64,    64,   64,   64,   64,   64,   64,    64,    64},
    /* au8NonDirLFDetailEhc */
    { 32,   32,   32,   36,   36,   36,   32,    22,    20,   18,   18,   18,   18,   18,    18,    18},
    /* au8NonDirHFDetailEhc */
    {  3,    3,    4,    5,    7,    7,    7,     7,     7,    7,    7,    7,    7,    7,     7,     7},
    /* au8DetailSmoothRange */
    {  1,    2,    2,    3,    3,    3,    4,     4,     5,    5,    7,    7,    7,    7,     7,     7},
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaicWdr = {
    1,    // bEnable
    /* au8NonDirStr */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64,   64,   64,   48,   48,   48,   32,    32,    32,   32,   16,   16,   16,   16,    16,    16},
    /* au8NonDirLFDetailEhc */
    { 40,   40,   40,   40,   32,   24,   18,    16,    16,   16,   16,   16,   16,   16,    16,    16},
    /* au8NonDirHFDetailEhc */
    {  3,    3,    3,    3,    3,    3,    5,     5,     5,    5,    5,    5,    5,    5,     5,     5},
    /* au8DetailSmoothRange */
    {  4,    4,    4,    4,    4,    4,    5,     5,     5,    5,    7,    7,    7,    7,     7,     7},
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspAntiFalseColor = {
    1,    /* bEnable */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 10,   10,   10,   12,   15,   16,   16,    15,     8,    6,    5,    4,    3,    2,     1,     0}, /* au8AntiFalseColorThreshold */
    {  8,    8,   10,   12,   15,   16,   16,    15,     8,    6,    5,    4,    3,    2,     1,     0}, /* au8AntiFalseColorStrength */
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspWdrAntiFalseColor = {
    1,    /* bEnable */
    /* 1,    2,    4,    8,   16,   32,   64,   128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    {  4,    4,    4,    4,    4,    4,    4,     4,    4,    4,    4,    4,    3,    2,     1,     0}, /* au8AntiFalseColorThreshold */
    {  4,    4,    4,    4,    4,    4,    4,     4,    4,    4,    4,    4,    3,    2,     1,     0}, /* au8AntiFalseColorStrength */
};

/***BAYER NR**/
static ISP_CMOS_NOISE_CALIBRATION_S g_stIspNoiseCalibratio = {
    10,     // Calibration Lut Num
    /*************Calibration LUT Table*************/
    {
        {100.000000f,   0.025472f,  0.008370f},
        {200.000000f,   0.051026f,  0.020051f},
        {400.000000f,   0.100380f,  0.002657f},
        {800.000000f,   0.199705f,  0.024892f},
        {1600.000000f,  0.397814f,  0.118102f},
        {3200.000000f,  0.792300f,  0.443096f},
        {6400.000000f,  1.554968f,  2.329596f},
        {12800.000000f, 3.029946f,  11.217048f},
        {25600.000000f, 5.870243f,  45.309135f},
        {51200.000000f, 10.794330f, 187.701797f}
    }
    /*********************************************/
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNr = {
    1,      // bEnable
    0,      // bBnrMonoSensorEn
    0,      // bNrLscEnable
    96,     // u8BnrLscMaxGain
    256,    // u16BnrLscCmpStrength
    {80, 80, 90, 90, 90, 90, 80, 70, 60, 50, 50, 50, 50, 50, 40, 40}, // FineStr
    {
        {1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3}, // ChromaStrR
        {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}, // ChromaStrGr
        {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}, // ChromaStrGb
        {1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3}  // ChromaStrB
    },
    {0, 0, 0, 0},                // WDRFrameStr
    {0, 0, 0, 0},                // FusionFrameStr
    {
        {90, 100, 100, 110, 110, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170},    // CoarseStrR
        {90, 100, 100, 110, 110, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170},    // CoarseStrGR
        {90, 100, 100, 110, 110, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170},    // CoarseStrGB
        {90, 100, 100, 110, 110, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170}     // CoarseStrB
    },
    {40, 40, 35, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30},     // lutCoringWeight
    {
        90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, \
        90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100, 100, 100, 100
    },   // CoringRatio
};

static const ISP_CMOS_LDCI_S g_stIspLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    28,

    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    /* au8HePosWgt */
    { 20,   20,   30,   32,   36,   30,   30,    20,    10,    0,    0,    0,    0,    0,     0,     0},

    /* au8HePosSigma */
    { 64,   64,   64,   48,   40,   24,   24,    20,    12,    8,    6,    2,    1,    1,     1,     1},

    /* au8HePosMean */
    { 32,   32,   32,   32,   30,   20,   20,    20,    20,   20,   20,   20,   20,   20,    20,    20},

    /* au8HeNegWgt */
    { 50,   45,   45,   45,   50,   40,   40,    30,    20,   10,    0,    0,    0,    0,     0,     0},

    /* au8HeNegSigma */
    { 80,   80,   80,   80,   80,   64,   64,    54,    36,    8,    6,    2,    1,    1,     1,     1},

    /* au8HeNegMean */
    {128,  108,   90,   80,   80,   70,   70,    70,    70,   70,   70,   70,   70,   70,    70,    70},

    /* au16BlcCtrl */
    { 20,   20,   20,   20,   20,   20,   30,    30,    30,   30,   30,   30,   30,   30,    30,    30}
};

static const ISP_CMOS_LDCI_S g_stIspLdciIr = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    28,

    /* 1,    2,    4,    8,   16,   32,   64,   128,    256,    512,   1024,   2048,   4096,    8192,    16384,   32768 */
    /* au8HePosWgt */
    { 32,   32,   32,   28,   24,   24,   24,    24,    24,    0,    0,    0,    0,    0,     0,     0},

    /* au8HePosSigma */
    { 48,   48,   48,   48,   40,   32,   28,    24,    20,    8,    6,    2,    1,    1,     1,     1},

    /* au8HePosMean */
    { 32,   32,   32,   32,   32,   30,   26,    24,    20,   20,   20,   20,   20,   20,    20,    20},

    /* au8HeNegWgt */
    { 45,   45,   45,   40,   40,   36,   32,    32,    30,   10,    0,    0,    0,    0,     0,     0},

    /* au8HeNegSigma */
    { 80,   80,   80,   80,   80,   80,   72,    64,    56,   50,   40,    2,    1,    1,     1,     1},

    /* au8HeNegMean */
    { 90,   80,   80,   70,   70,   60,   60,    60,    60,   70,   70,   70,   70,   70,    70,    70},

    /* au16BlcCtrl */
    { 20,   20,   20,   20,   30,   30,   30,    30,    30,   30,   30,   30,   30,   30,    30,    30}
};

static const ISP_CMOS_GAMMA_S g_stIspGamma = {
    /* au16Gamma[GAMMA_EXT_NODE_NUMBER] */
    {
        0, 5, 10, 16, 22, 28, 34, 41, 48, 55, 63, 70, 78, 86, 95, 103, 112, 121, 130, 139, 149, 158, 168, 178, 188, 198, 208, 219, 229, 240, 251, 261,
        272, 283, 294, 305, 317, 328, 339, 350, 362, 373, 385, 396, 407, 419, 430, 442, 453, 464, 476, 487, 498, 509, 520, 531, 542, 553, 564, 574, 585, 595, 606, 616,
        626, 636, 646, 656, 666, 676, 686, 697, 707, 717, 727, 738, 748, 758, 769, 779, 790, 800, 810, 821, 831, 842, 852, 863, 873, 884, 894, 905, 915, 926, 936, 947,
        957, 968, 978, 988, 999, 1009, 1020, 1030, 1040, 1050, 1061, 1071, 1081, 1091, 1101, 1112, 1122, 1132, 1142, 1152, 1161, 1171, 1181, 1191, 1201, 1210, 1220, 1229, 1239, 1248, 1257, 1267,
        1276, 1285, 1294, 1303, 1312, 1321, 1330, 1339, 1348, 1357, 1366, 1375, 1383, 1392, 1401, 1409, 1418, 1427, 1435, 1444, 1452, 1461, 1469, 1478, 1486, 1494, 1503, 1511, 1519, 1527, 1535, 1544,
        1552, 1560, 1568, 1576, 1584, 1592, 1600, 1608, 1616, 1624, 1632, 1640, 1648, 1656, 1663, 1671, 1679, 1687, 1695, 1702, 1710, 1718, 1726, 1733, 1741, 1749, 1756, 1764, 1772, 1779, 1787, 1794,
        1802, 1810, 1817, 1825, 1833, 1840, 1848, 1855, 1863, 1870, 1878, 1885, 1892, 1900, 1907, 1914, 1922, 1929, 1936, 1944, 1951, 1958, 1965, 1972, 1980, 1987, 1994, 2001, 2008, 2015, 2022, 2029,
        2036, 2043, 2050, 2057, 2064, 2071, 2077, 2084, 2091, 2098, 2105, 2111, 2118, 2125, 2132, 2138, 2145, 2151, 2158, 2165, 2171, 2178, 2184, 2191, 2197, 2204, 2210, 2216, 2223, 2229, 2235, 2242,
        2248, 2254, 2260, 2267, 2273, 2279, 2285, 2291, 2297, 2303, 2309, 2315, 2321, 2327, 2333, 2339, 2345, 2351, 2357, 2362, 2368, 2374, 2380, 2385, 2391, 2397, 2402, 2408, 2413, 2419, 2425, 2430,
        2436, 2441, 2447, 2452, 2457, 2463, 2468, 2473, 2479, 2484, 2489, 2495, 2500, 2505, 2510, 2515, 2521, 2526, 2531, 2536, 2541, 2546, 2551, 2556, 2561, 2566, 2571, 2576, 2581, 2586, 2591, 2596,
        2600, 2605, 2610, 2615, 2620, 2624, 2629, 2634, 2639, 2643, 2648, 2653, 2657, 2662, 2667, 2671, 2676, 2680, 2685, 2689, 2694, 2698, 2703, 2707, 2712, 2716, 2721, 2725, 2730, 2734, 2738, 2743,
        2747, 2751, 2756, 2760, 2764, 2769, 2773, 2777, 2781, 2786, 2790, 2794, 2798, 2802, 2807, 2811, 2815, 2819, 2823, 2827, 2831, 2836, 2840, 2844, 2848, 2852, 2856, 2860, 2864, 2868, 2872, 2876,
        2880, 2884, 2888, 2892, 2896, 2900, 2903, 2907, 2911, 2915, 2919, 2922, 2926, 2930, 2934, 2937, 2941, 2944, 2948, 2952, 2955, 2959, 2962, 2966, 2969, 2973, 2976, 2980, 2983, 2986, 2990, 2993,
        2996, 3000, 3003, 3006, 3010, 3013, 3016, 3019, 3023, 3026, 3029, 3032, 3035, 3038, 3041, 3045, 3048, 3051, 3054, 3057, 3060, 3063, 3066, 3069, 3072, 3075, 3078, 3081, 3084, 3087, 3090, 3092,
        3095, 3098, 3101, 3104, 3107, 3110, 3112, 3115, 3118, 3121, 3124, 3127, 3129, 3132, 3135, 3138, 3140, 3143, 3146, 3149, 3151, 3154, 3157, 3160, 3162, 3165, 3168, 3170, 3173, 3176, 3178, 3181,
        3184, 3186, 3189, 3192, 3194, 3197, 3200, 3202, 3205, 3208, 3210, 3213, 3216, 3218, 3221, 3224, 3226, 3229, 3231, 3234, 3237, 3239, 3242, 3245, 3247, 3250, 3253, 3255, 3258, 3261, 3263, 3266,
        3269, 3271, 3274, 3277, 3279, 3282, 3285, 3287, 3290, 3293, 3295, 3298, 3300, 3303, 3306, 3308, 3311, 3313, 3316, 3318, 3321, 3324, 3326, 3329, 3331, 3334, 3336, 3339, 3341, 3344, 3346, 3349,
        3351, 3354, 3356, 3359, 3361, 3364, 3366, 3369, 3371, 3373, 3376, 3378, 3381, 3383, 3385, 3388, 3390, 3393, 3395, 3397, 3400, 3402, 3405, 3407, 3409, 3412, 3414, 3416, 3419, 3421, 3423, 3426,
        3428, 3430, 3433, 3435, 3437, 3439, 3442, 3444, 3446, 3448, 3451, 3453, 3455, 3457, 3460, 3462, 3464, 3466, 3469, 3471, 3473, 3475, 3477, 3480, 3482, 3484, 3486, 3488, 3490, 3493, 3495, 3497,
        3499, 3501, 3503, 3505, 3508, 3510, 3512, 3514, 3516, 3518, 3520, 3522, 3524, 3526, 3528, 3531, 3533, 3535, 3537, 3539, 3541, 3543, 3545, 3547, 3549, 3551, 3553, 3555, 3557, 3559, 3561, 3563,
        3565, 3567, 3569, 3571, 3573, 3575, 3577, 3579, 3581, 3583, 3584, 3586, 3588, 3590, 3592, 3594, 3596, 3598, 3600, 3601, 3603, 3605, 3607, 3609, 3611, 3612, 3614, 3616, 3618, 3620, 3621, 3623,
        3625, 3627, 3628, 3630, 3632, 3634, 3635, 3637, 3639, 3641, 3642, 3644, 3646, 3647, 3649, 3651, 3652, 3654, 3656, 3657, 3659, 3661, 3662, 3664, 3666, 3667, 3669, 3671, 3672, 3674, 3675, 3677,
        3679, 3680, 3682, 3684, 3685, 3687, 3688, 3690, 3691, 3693, 3695, 3696, 3698, 3699, 3701, 3702, 3704, 3706, 3707, 3709, 3710, 3712, 3713, 3715, 3716, 3718, 3720, 3721, 3723, 3724, 3726, 3727,
        3729, 3730, 3732, 3733, 3735, 3736, 3738, 3739, 3741, 3742, 3744, 3745, 3747, 3748, 3750, 3751, 3753, 3754, 3756, 3757, 3759, 3760, 3762, 3763, 3765, 3766, 3768, 3769, 3771, 3772, 3774, 3775,
        3777, 3779, 3780, 3782, 3783, 3785, 3786, 3787, 3789, 3790, 3792, 3793, 3795, 3796, 3798, 3799, 3801, 3802, 3804, 3805, 3807, 3808, 3809, 3811, 3812, 3814, 3815, 3817, 3818, 3819, 3821, 3822,
        3824, 3825, 3827, 3828, 3829, 3831, 3832, 3834, 3835, 3836, 3838, 3839, 3840, 3842, 3843, 3845, 3846, 3847, 3849, 3850, 3851, 3853, 3854, 3856, 3857, 3858, 3860, 3861, 3862, 3864, 3865, 3866,
        3868, 3869, 3870, 3872, 3873, 3874, 3876, 3877, 3878, 3880, 3881, 3882, 3884, 3885, 3886, 3888, 3889, 3890, 3892, 3893, 3894, 3895, 3897, 3898, 3899, 3901, 3902, 3903, 3904, 3906, 3907, 3908,
        3910, 3911, 3912, 3913, 3915, 3916, 3917, 3919, 3920, 3921, 3922, 3924, 3925, 3926, 3927, 3929, 3930, 3931, 3933, 3934, 3935, 3936, 3938, 3939, 3940, 3941, 3943, 3944, 3945, 3946, 3948, 3949,
        3950, 3951, 3952, 3954, 3955, 3956, 3957, 3959, 3960, 3961, 3962, 3963, 3965, 3966, 3967, 3968, 3969, 3971, 3972, 3973, 3974, 3975, 3977, 3978, 3979, 3980, 3981, 3982, 3984, 3985, 3986, 3987,
        3988, 3989, 3991, 3992, 3993, 3994, 3995, 3996, 3997, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4018, 4019, 4020, 4021, 4022, 4023,
        4024, 4025, 4026, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4058,
        4059, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4068, 4069, 4070, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4079, 4080, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4092, 4093, 4094, 4095
    }
};

static const ISP_CMOS_GAMMA_S g_stIspGammaIr = {
    /* au16Gamma[GAMMA_EXT_NODE_NUMBER] */
    {
        0, 5, 11, 17, 22, 29, 35, 41, 48, 55, 61, 68, 76, 83, 91, 98, 106, 114, 122, 131, 139, 148, 156, 165, 174, 183, 192, 202, 211, 221, 230, 240,
        250, 260, 270, 280, 291, 301, 312, 322, 333, 344, 355, 366, 377, 388, 399, 410, 422, 433, 444, 456, 468, 479, 491, 503, 515, 526, 538, 550, 562, 574, 586, 599,
        611, 623, 635, 647, 660, 672, 684, 697, 709, 721, 734, 746, 758, 771, 783, 795, 808, 820, 832, 845, 857, 869, 881, 894, 906, 918, 930, 942, 954, 966, 978, 990,
        1002, 1014, 1026, 1038, 1049, 1061, 1073, 1084, 1096, 1107, 1118, 1130, 1141, 1152, 1163, 1174, 1185, 1195, 1206, 1217, 1227, 1237, 1248, 1258, 1268, 1278, 1288, 1298, 1307, 1317, 1326, 1336,
        1345, 1354, 1363, 1372, 1381, 1390, 1399, 1408, 1417, 1426, 1435, 1444, 1453, 1461, 1470, 1479, 1488, 1497, 1505, 1514, 1523, 1531, 1540, 1549, 1557, 1566, 1574, 1583, 1592, 1600, 1609, 1617,
        1626, 1634, 1642, 1651, 1659, 1667, 1676, 1684, 1692, 1701, 1709, 1717, 1725, 1733, 1742, 1750, 1758, 1766, 1774, 1782, 1790, 1798, 1806, 1814, 1822, 1830, 1837, 1845, 1853, 1861, 1869, 1877,
        1884, 1892, 1900, 1907, 1915, 1923, 1930, 1938, 1945, 1953, 1960, 1968, 1975, 1983, 1990, 1998, 2005, 2012, 2020, 2027, 2034, 2042, 2049, 2056, 2063, 2070, 2078, 2085, 2092, 2099, 2106, 2113,
        2120, 2127, 2134, 2141, 2148, 2154, 2161, 2168, 2175, 2182, 2189, 2195, 2202, 2209, 2215, 2222, 2229, 2235, 2242, 2248, 2255, 2261, 2268, 2274, 2281, 2287, 2293, 2300, 2306, 2312, 2319, 2325,
        2331, 2337, 2343, 2349, 2356, 2362, 2368, 2374, 2380, 2386, 2392, 2397, 2403, 2409, 2415, 2421, 2426, 2432, 2438, 2443, 2449, 2455, 2460, 2466, 2471, 2477, 2482, 2488, 2493, 2499, 2504, 2509,
        2515, 2520, 2525, 2530, 2536, 2541, 2546, 2551, 2556, 2561, 2566, 2571, 2576, 2581, 2586, 2591, 2596, 2601, 2606, 2611, 2616, 2621, 2625, 2630, 2635, 2640, 2644, 2649, 2654, 2658, 2663, 2668,
        2672, 2677, 2681, 2686, 2690, 2695, 2699, 2704, 2708, 2713, 2717, 2721, 2726, 2730, 2734, 2739, 2743, 2747, 2752, 2756, 2760, 2764, 2768, 2773, 2777, 2781, 2785, 2789, 2793, 2797, 2802, 2806,
        2810, 2814, 2818, 2822, 2826, 2830, 2834, 2838, 2842, 2846, 2849, 2853, 2857, 2861, 2865, 2869, 2873, 2877, 2880, 2884, 2888, 2892, 2896, 2899, 2903, 2907, 2911, 2914, 2918, 2922, 2926, 2929,
        2933, 2937, 2940, 2944, 2948, 2951, 2955, 2958, 2962, 2965, 2969, 2972, 2975, 2979, 2982, 2986, 2989, 2992, 2995, 2999, 3002, 3005, 3008, 3011, 3014, 3018, 3021, 3024, 3027, 3030, 3033, 3036,
        3039, 3042, 3045, 3048, 3051, 3053, 3056, 3059, 3062, 3065, 3068, 3070, 3073, 3076, 3079, 3081, 3084, 3087, 3089, 3092, 3095, 3097, 3100, 3103, 3105, 3108, 3110, 3113, 3116, 3118, 3121, 3123,
        3126, 3128, 3131, 3133, 3136, 3138, 3141, 3143, 3145, 3148, 3150, 3153, 3155, 3158, 3160, 3162, 3165, 3167, 3169, 3172, 3174, 3177, 3179, 3181, 3184, 3186, 3188, 3191, 3193, 3195, 3198, 3200,
        3202, 3204, 3207, 3209, 3211, 3214, 3216, 3218, 3221, 3223, 3225, 3228, 3230, 3232, 3235, 3237, 3239, 3242, 3244, 3246, 3249, 3251, 3253, 3256, 3258, 3260, 3263, 3265, 3267, 3270, 3272, 3275,
        3277, 3279, 3282, 3284, 3287, 3289, 3291, 3294, 3296, 3298, 3301, 3303, 3305, 3308, 3310, 3312, 3315, 3317, 3319, 3322, 3324, 3326, 3328, 3331, 3333, 3335, 3338, 3340, 3342, 3344, 3347, 3349,
        3351, 3353, 3355, 3358, 3360, 3362, 3364, 3367, 3369, 3371, 3373, 3375, 3377, 3380, 3382, 3384, 3386, 3388, 3390, 3393, 3395, 3397, 3399, 3401, 3403, 3405, 3407, 3410, 3412, 3414, 3416, 3418,
        3420, 3422, 3424, 3426, 3428, 3431, 3433, 3435, 3437, 3439, 3441, 3443, 3445, 3447, 3449, 3451, 3453, 3455, 3457, 3459, 3461, 3463, 3465, 3467, 3469, 3471, 3473, 3475, 3477, 3479, 3481, 3483,
        3485, 3487, 3489, 3491, 3493, 3495, 3497, 3499, 3501, 3503, 3505, 3507, 3509, 3511, 3513, 3515, 3517, 3519, 3521, 3523, 3525, 3527, 3529, 3531, 3533, 3534, 3536, 3538, 3540, 3542, 3544, 3546,
        3548, 3550, 3552, 3554, 3556, 3558, 3560, 3561, 3563, 3565, 3567, 3569, 3571, 3573, 3575, 3577, 3578, 3580, 3582, 3584, 3586, 3588, 3590, 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3604, 3606,
        3608, 3610, 3612, 3613, 3615, 3617, 3619, 3621, 3622, 3624, 3626, 3628, 3630, 3631, 3633, 3635, 3637, 3639, 3640, 3642, 3644, 3646, 3647, 3649, 3651, 3653, 3654, 3656, 3658, 3660, 3661, 3663,
        3665, 3667, 3668, 3670, 3672, 3673, 3675, 3677, 3679, 3680, 3682, 3684, 3685, 3687, 3689, 3691, 3692, 3694, 3696, 3697, 3699, 3701, 3702, 3704, 3706, 3707, 3709, 3711, 3712, 3714, 3716, 3717,
        3719, 3721, 3722, 3724, 3726, 3727, 3729, 3730, 3732, 3734, 3735, 3737, 3739, 3740, 3742, 3743, 3745, 3747, 3748, 3750, 3752, 3753, 3755, 3756, 3758, 3760, 3761, 3763, 3764, 3766, 3767, 3769,
        3771, 3772, 3774, 3775, 3777, 3779, 3780, 3782, 3783, 3785, 3786, 3788, 3789, 3791, 3793, 3794, 3796, 3797, 3799, 3800, 3802, 3803, 3805, 3806, 3808, 3809, 3811, 3812, 3814, 3815, 3817, 3819,
        3820, 3822, 3823, 3825, 3826, 3827, 3829, 3830, 3832, 3833, 3835, 3836, 3838, 3839, 3841, 3842, 3844, 3845, 3847, 3848, 3850, 3851, 3852, 3854, 3855, 3857, 3858, 3860, 3861, 3863, 3864, 3865,
        3867, 3868, 3870, 3871, 3873, 3874, 3875, 3877, 3878, 3880, 3881, 3882, 3884, 3885, 3887, 3888, 3889, 3891, 3892, 3893, 3895, 3896, 3898, 3899, 3900, 3902, 3903, 3904, 3906, 3907, 3908, 3910,
        3911, 3913, 3914, 3915, 3917, 3918, 3919, 3921, 3922, 3923, 3925, 3926, 3927, 3928, 3930, 3931, 3932, 3934, 3935, 3936, 3938, 3939, 3940, 3941, 3943, 3944, 3945, 3947, 3948, 3949, 3950, 3952,
        3953, 3954, 3956, 3957, 3958, 3959, 3961, 3962, 3963, 3964, 3965, 3967, 3968, 3969, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3979, 3980, 3981, 3982, 3983, 3984, 3986, 3987, 3988, 3989, 3990,
        3991, 3992, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025,
        4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4058, 4059,
        4060, 4062, 4063, 4064, 4065, 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4078, 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4091, 4092, 4093, 4094, 4095
    }
};


static const ISP_CMOS_PREGAMMA_S g_stPreGamma = {
    0,
    {
        3821,    7131,    9741,   11691,   13307,   14713,   15971,   17118,   18179,   20099,   21818,   23385,   24833,   26185,   27456,   28659,
        29804,   30897,   31945,   32952,   33923,   35770,   37506,   39150,   40713,   42207,   43638,   45014,   46340,   47622,   48863,   50066,
        51235,   52373,   53481,   54561,   55616,   57656,   59611,   61491,   63303,   65054,   66749,   68393,   69990,   71543,   73057,   74533,
        75974,   77383,   78761,   80110,   81432,   83999,   86475,   88866,   91182,   93428,   95609,   97731,   99799,  101815,  103784,  105708,
        107590,  109433,  111239,  113010,  114747,  118128,  121395,  124558,  127626,  130606,  133505,  136330,  139084,  141773,  144402,  146973,
        149491,  151957,  154376,  156749,  159079,  161368,  163618,  165831,  168008,  170152,  172263,  174342,  176392,  178413,  180407,  182374,
        184315,  186232,  188125,  189995,  191842,  193668,  197259,  200771,  204210,  207580,  210884,  214126,  217308,  220435,  223509,  226532,
        229506,  232434,  235318,  238159,  240959,  243720,  246443,  249130,  251782,  254400,  256986,  259540,  262064,  264559,  267025,  269464,
        271876,  274262,  276623,  278960,  281273,  283562,  288076,  292504,  296852,  301124,  305323,  309452,  313515,  317515,  321454,  325335,
        329160,  332931,  336651,  340322,  343945,  347521,  351054,  354543,  357991,  361399,  364767,  368099,  371394,  374653,  377878,  381070,
        384230,  387358,  390456,  393523,  396562,  399573,  405512,  411348,  417083,  422724,  428274,  433738,  439119,  444420,  449646,  454798,
        459880,  464894,  469842,  474728,  479554,  484320,  489030,  493685,  498287,  502838,  507339,  511791,  516197,  520557,  524874,  529147,
        533378,  537569,  541720,  545833,  549908,  553946,  557949,  561917,  565852,  569753,  577458,  585040,  592504,  599854,  607096,  614234,
        621272,  628214,  635064,  641824,  648498,  655090,  661601,  668035,  674394,  680681,  686897,  693045,  699128,  705146,  711103,  716999,
        722836,  728616,  734341,  740012,  745630,  751197,  756713,  762181,  767602,  778305,  788831,  799189,  809384,  819425,  829318,  839069,
        848683,  858166,  867523,  876757,  885875,  894879,  903774,  912563,  921249,  938329,  955037,  971395,  987423, 1003139, 1018560, 1033701,
        1048575
    }
};

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpen = {
    /* u8SkinUmin */
    110,
    /* u8SkinVmin */
    128,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    149,

    /* Manual Para */
    {
        /* au8LumaWgt */
        {31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31},
        /* u16TextureStr */
        {420, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270, 270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150},
        /* u16EdgeStr */
        {120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210, 210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120},
        /* u16TextureFreq; */
        160,
        /* u16EdgeFreq; */
        100,
        /* u8OverShoot; */
        55,
        /* u8UnderShoot; */
        70,
        /* u8shootSupStr; */
        10,
        /* u8shootSupAdj; */
        9,
        /* u8DetailCtrl; */
        128,
        /* u8DetailCtrlThr; */
        180,
        /* u8EdgeFiltStr; */
        60,
        /*u8EdgeFiltMaxCap; */
        18,
        /*u8RGain; */
        28,
        /* u8GGain; */
        32,
        /* u8BGain; */
        31,
        /* u8SkinGain; */
        23,
        /* u8MaxSharpGain; */
        67,
        /* u8WeakDetailGain */
        6
    },
    /* Auto Para */
    {
        /* au16LumaWgt */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        {   {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31},
            {   31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31,     31}
        },
        /* au16TextureStr  */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        {   {  272,    217,    173,    181,    151,    150,    128,    128,   128,    128,    128,    128,    128,     28,     28,     28},
            {  278,    224,    182,    190,    158,    154,    135,    140,   148,    148,    148,    148,    148,     43,     43,     43},
            {  285,    235,    195,    199,    169,    161,    145,    152,   177,    177,    177,    177,    177,     59,     59,     59},
            {  292,    248,    210,    209,    181,    169,    158,    164,   211,    211,    211,    211,    211,     75,     75,     75},
            {  299,    261,    225,    219,    194,    177,    170,    176,   247,    247,    247,    247,    247,     91,     91,     91},
            {  304,    273,    240,    227,    206,    184,    182,    187,   281,    281,    281,    281,    281,    106,    106,    106},
            {  308,    282,    251,    233,    216,    190,    191,    198,   310,    310,    310,    310,    310,    121,    121,    121},
            {  309,    287,    257,    237,    221,    192,    196,    207,   331,    331,    331,    331,    331,    136,    136,    136},
            {  307,    286,    257,    238,    222,    191,    196,    215,   342,    342,    342,    342,    342,    152,    152,    152},
            {  303,    281,    254,    236,    220,    187,    194,    222,   348,    348,    348,    348,    348,    167,    167,    167},
            {  297,    274,    248,    232,    215,    181,    189,    229,   351,    351,    351,    351,    351,    183,    183,    183},
            {  290,    266,    240,    227,    210,    175,    183,    236,   352,    352,    352,    352,    352,    199,    199,    199},
            {  283,    257,    232,    223,    203,    168,    176,    241,   350,    350,    350,    350,    350,    214,    214,    214},
            {  277,    249,    225,    218,    198,    162,    171,    246,   347,    347,    347,    347,    347,    228,    228,    228},
            {  272,    242,    219,    215,    194,    158,    167,    248,   344,    344,    344,    344,    344,    241,    241,    241},
            {  269,    239,    217,    213,    192,    157,    165,    249,   341,    341,    341,    341,    341,    254,    254,    254},
            {  269,    239,    219,    214,    193,    159,    166,    248,   338,    338,    338,    338,    338,    267,    267,    267},
            {  272,    242,    223,    217,    196,    164,    170,    245,   333,    333,    333,    333,    333,    283,    283,    283},
            {  276,    247,    230,    221,    201,    170,    175,    240,   327,    327,    327,    327,    327,    298,    298,    298},
            {  280,    252,    237,    225,    206,    177,    181,    234,   320,    320,    320,    320,    320,    313,    313,    313},
            {  285,    258,    244,    229,    211,    184,    187,    227,   313,    313,    313,    313,    313,    325,    325,    325},
            {  288,    262,    250,    232,    215,    191,    192,    220,   305,    305,    305,    305,    305,    338,    338,    338},
            {  290,    264,    253,    234,    217,    195,    195,    213,   296,    296,    296,    296,    296,    348,    348,    348},
            {  289,    264,    253,    232,    216,    197,    196,    207,   288,    288,    288,    288,    288,    353,    353,    353},
            {  285,    260,    249,    228,    212,    196,    194,    201,   279,    279,    279,    279,    279,    350,    350,    350},
            {  280,    254,    242,    221,    206,    192,    191,    195,   270,    270,    270,    270,    270,    343,    343,    343},
            {  273,    246,    232,    213,    198,    187,    186,    189,   260,    260,    260,    260,    260,    330,    330,    330},
            {  265,    236,    221,    203,    188,    180,    180,    182,   249,    249,    249,    249,    249,    313,    313,    313},
            {  256,    227,    210,    193,    179,    173,    174,    176,   239,    239,    239,    239,    239,    287,    287,    287},
            {  247,    218,    200,    183,    170,    167,    168,    169,   228,    228,    228,    228,    228,    254,    254,    254},
            {  239,    210,    191,    173,    163,    162,    161,    162,   217,    217,    217,    217,    217,    219,    219,    219},
            {  231,    205,    185,    164,    158,    158,    156,    156,   207,    207,    207,    207,    207,    186,    186,    186}
        },
        /* au16EdgeStr     */
        /* ISO */
        /* 100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400, 3276800 */
        {   {  259,    256,    281,    288,    288,    276,    231,    212,    259,    224,    224,    224,    224,    224,    224,    224},
            {  265,    263,    287,    294,    293,    281,    243,    218,    269,    244,    244,    244,    244,    244,    244,    244},
            {  271,    271,    294,    303,    301,    289,    256,    225,    279,    265,    265,    265,    265,    265,    265,    265},
            {  277,    278,    303,    313,    310,    299,    269,    235,    288,    285,    285,    285,    285,    285,    285,    285},
            {  282,    286,    313,    325,    320,    308,    281,    245,    298,    303,    303,    303,    303,    303,    303,    303},
            {  288,    293,    323,    336,    329,    318,    293,    255,    308,    319,    319,    319,    319,    319,    319,    319},
            {  294,    300,    332,    346,    338,    327,    303,    265,    317,    333,    333,    333,    333,    333,    333,    333},
            {  299,    307,    339,    355,    345,    333,    312,    273,    325,    346,    346,    346,    346,    346,    346,    346},
            {  304,    313,    345,    361,    351,    337,    318,    280,    332,    357,    357,    357,    357,    357,    357,    357},
            {  309,    320,    350,    367,    356,    341,    324,    287,    339,    364,    364,    364,    364,    364,    364,    364},
            {  314,    326,    355,    373,    361,    344,    328,    294,    345,    370,    370,    370,    370,    370,    370,    370},
            {  319,    332,    360,    379,    365,    346,    332,    301,    351,    374,    374,    374,    374,    374,    374,    374},
            {  323,    338,    364,    383,    369,    347,    335,    308,    356,    379,    379,    379,    379,    379,    379,    379},
            {  327,    343,    367,    387,    372,    348,    337,    313,    361,    384,    384,    384,    384,    384,    384,    384},
            {  330,    348,    370,    390,    374,    349,    339,    318,    365,    390,    390,    390,    390,    390,    390,    390},
            {  332,    351,    372,    392,    375,    349,    340,    321,    368,    394,    394,    394,    394,    394,    394,    394},
            {  333,    353,    373,    393,    375,    349,    340,    323,    370,    398,    398,    398,    398,    398,    398,    398},
            {  333,    355,    374,    392,    374,    348,    340,    324,    371,    398,    398,    398,    398,    398,    398,    398},
            {  333,    356,    374,    390,    371,    346,    338,    324,    371,    398,    398,    398,    398,    398,    398,    398},
            {  332,    356,    373,    388,    368,    344,    336,    323,    370,    398,    398,    398,    398,    398,    398,    398},
            {  330,    355,    371,    385,    365,    341,    333,    321,    369,    398,    398,    398,    398,    398,    398,    398},
            {  328,    354,    369,    381,    361,    338,    330,    318,    367,    398,    398,    398,    398,    398,    398,    398},
            {  326,    353,    367,    377,    356,    335,    327,    315,    364,    399,    399,    399,    399,    399,    399,    399},
            {  324,    352,    364,    373,    352,    331,    323,    312,    361,    402,    402,    402,    402,    402,    402,    402},
            {  321,    350,    360,    368,    347,    326,    318,    308,    357,    405,    405,    405,    405,    405,    405,    405},
            {  318,    347,    355,    363,    341,    320,    313,    302,    351,    408,    408,    408,    408,    408,    408,    408},
            {  314,    344,    348,    356,    334,    313,    306,    295,    345,    411,    411,    411,    411,    411,    411,    411},
            {  309,    341,    342,    349,    327,    306,    300,    287,    337,    413,    413,    413,    413,    413,    413,    413},
            {  305,    337,    335,    342,    320,    299,    293,    280,    330,    411,    411,    411,    411,    411,    411,    411},
            {  301,    334,    330,    336,    313,    293,    287,    273,    322,    408,    408,    408,    408,    408,    408,    408},
            {  298,    331,    325,    331,    308,    288,    282,    268,    315,    405,    405,    405,    405,    405,    405,    405},
            {  296,    329,    321,    327,    304,    284,    279,    264,    308,    402,    402,    402,    402,    402,    402,    402}
        },
        /* au16TextureFreq */
        /* ISO */
        /* 100,    200,    400,    800,    1600,    3200,    6400,   12800,   25600,   51200,  102400,  204800,  409600,  819200, 1638400, 3276800 */
        {  170, 180, 190, 200, 200, 200, 180, 170, 170, 170, 170, 160, 160, 160, 160, 160},

        /* au16EdgeFreq */
        {  120, 120, 110, 100, 100, 100, 200, 200, 100, 100,  96,  96,  96,  96,  96,  96},

        /* au8OverShoot */
        {   40,  46,  52,  54,  54,  50,  45,  40,  30,  30,  40,  40,  10,  10,  10,  10},

        /* au8UnderShoot */
        {   72,  75,  80,  75,  75,  70,  60,  60,  50,  50,  50,  50,  15,  15,  15,  15},

        /* au16shootSupStr */
        {    5,   5,   5,   5,   5,   5,   5,   5,   4,   3,   2,   1,   0,   0,   0,   0},

        /* au8ShootSupAdj */
        {    6,   6,   6,   6,   6,   6,   5,   5,   5,   4,   3,   2,   1,   0,   0,   0},

        /* au8DetailCtrl */
        {  128, 128, 128, 128, 128, 128, 128, 120, 118, 118, 110, 120, 120, 120, 120, 120},

        /* au8DetailCtrlThr */
        {  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160},

        /* au8EdgeFiltStr */
        {   50,  50,  50,  55,  57,  60,  61,  62,  62,  62,  62,  62,  62,  62,  62,  62},

        /* au8EdgeFiltMaxCap */
        {   18,  18,  18,  18,  22,  24,  22,  18,  18,  18,  18,  18,  18,  18,  18,  18 },

        /* au8RGain */
        {   30,  30,  30,  24,  16,  16,  16,  31,  31,  31,  31,  31,  31,  31,  31,  31},

        /* au8GGain */
        {   31,  32,  45,  56,  64,  64,  64,  48,  31,  31,  31,  31,  31,  31,  31,  31},

        /* au8BGain */
        {   30,  30,  30,  24,  16,  16,  16,  31,  31,  31,  31,  31,  31,  31,  31,  31},

        /* au8SkinGain */
        {   16,  24,  28,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31,  31},

        /* u8MaxSharpGain */
        {   72,  72,  72,  74,  80,  80,  80,  80,  80,  80,  80,  80,  80,  80,  80,  80},
        /* au8WeakDetailGain                          */
        {   0,   0,    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0}

    },
};

static AWB_CCM_S g_stAwbCcm = {
    4,
    {
        {
            6150,
            {
                0x02CF, 0x8215, 0x0046,
                0x8057, 0x017F, 0x8028,
                0x0029, 0x8219, 0x02F0
            },
        },

        {
            4850,
            {
                0x02A5, 0x81E3, 0x003E,
                0x8077, 0x0183, 0x800C,
                0x0011, 0x81EE, 0x02DD
            },
        },

        {
            3650,
            {

                0x029D, 0x81CD, 0x0030,
                0x8092, 0x018D, 0x0005,
                0x800D, 0x8250, 0x035D
            },
        },

        {
            2650,
            {
                0x029C, 0x81C7, 0x002B,
                0x80B1, 0x0178, 0x0039,
                0x80AE, 0x8376, 0x0524
            },
        },
    },
};

static AWB_AGC_TABLE_S g_stAwbAgcTable = {
    /* bvalid */
    1,

    /* saturation */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 112, 112, 110, 110, 108, 105, 100, 100, 100, 95, 90, 80, 80, 80, 80, 80 }
};

static AWB_AGC_TABLE_S g_stAwbAgcTableIr = {
    /* bvalid */
    1,

    /* saturation */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
};


static const ISP_CMOS_WDR_S g_stIspWDR = {
    /* bFusionMode */
    0,

    /* bMotionComp */
    1,

    /* u16ShortThr */
    4032,

    /* u16LongThr */
    3008,

    /* bForceLong */
    1,

    /* u16ForceLongLowThr */

    500,

    /* u16ForceLongHigThr */
    700,

    /* bShortExpoChk */
    0,

    /* u16ShortCheckThd */
    0x8,

    /* au8MdThrLowGain[16] */
    /* 1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64,   64,   64,   64,  128,  255,  255,  255,  255,  255,  255,  255,  255,  255,   255,   255},

    /* au8MdThrHigGain[16] */
    {128,  128,  128,  128,  128,  255,  255,  255,  255,  255,  255,  255,  255,  255,   255,   255},

    /* au16FusionThr[2] */
    {3855, 3000},

    /* u8MdtStillThd */
    0x14,

    /* u8MdtLongBlend */
    0x0
};

static const ISP_CMOS_DEHAZE_S g_stIspDehaze = {
    /* bEnable */
    1,
    /* bUserLutEnable */
    1,
    /* enOpType */
    0,
    /* u8AutoStrength */
    80,
    /* u8ManualStrength */
    128
};

static const ISP_CMOS_DEHAZE_S g_stIspDehazeIr = {
    /* bEnable */
    1,
    /* bUserLutEnable */
    1,
    /* enOpType */
    0,
    /* u8AutoStrength */
    100,
    /* u8ManualStrength */
    128
};

#define DRC_INIT_STR_NA  400, 380, 350, 320, 300, 280, 260, 240
#define DRC_INIT_STR_IR  380, 350, 320, 300, 280, 260, 240, 220
static ISP_CMOS_DRC_S g_stIspDRC = {
    /* bEnable; */
    1,
    /*enOpType*/
    1,
    /* u16ManualStrength; */
    400,
    /* u16AutoStrength; */
    512,
    /* u8SpatialFltCoef; */
    1,
    /* u8RangeFltCoef; */
    2,
    /* u8ContrastControl */
    10,
    /* s8DetailAdjustFactor */
    12,
    /* u8RangeAdaMax */
    8,
    /* u8FltScaleFine */
    6,
    /* u8FltScaleCoarse */
    6,
    /* u8GradRevMax */
    64,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    12,
    /* u8BrightGainLmtStep */
    8,
    /* u8DarkGainLmtY */
    80,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    32,
    /* u8LocalMixingBrightMin */
    20,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    32,
    /* u8LocalMixingDarkMin */
    28,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    {884, 906, 929, 950, 969, 985, 999, 1010, 1019, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024},
    /*ToneMappingValue[200]*/
    {8, 8, 16, 24, 31, 39, 48, 56, 65, 75, 85, 95, 106, 118, 130, 143, 156, 170, 185, 201, 218, 235, 254, 274, 294, 316, 339, 364, 390, 417, 446, 477, 509, 543, 579, 617, 658, 701, 746, 794, 844, 898, 955, 1015, 1078, 1145, 1216,
     1291, 1370, 1454, 1543, 1637, 1736, 1841, 1952, 2069, 2194, 2325, 2465, 2612, 2767, 2932, 3106, 3290, 3485, 3691, 3909, 4140, 4384, 4641, 4914, 5202, 5507, 5830, 6171, 6531, 6913, 7316, 7742, 8193, 8669, 9173, 9705, 10268,
     10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635, 19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451, 26959, 27473, 27995, 28524,
     29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706, 36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008, 45424, 45842, 46265, 46691,
     47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113, 52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429, 58697, 58967, 59238, 59510,
     59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877, 63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234},
    /* u8Asymmetry */
    5,
    /* u8SecondPole */
    150,
    /* u8Stretch */
    50,
    /* u8Compress */
    150,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    {0, 200, 400, 600, 1000},
    /* au16Ypoint */
    {0, 200, 400, 600, 1000},
    /* au16Slope */
    {1000, 1000, 1000, 1000, 1000}
};

static const ISP_CMOS_CA_S g_stIspCA = {
    /* CA */
    1,
    /* Y */
    {
        516, 525, 534, 544, 554, 563, 573, 583, 594, 604, 614, 624, 634, 644, 654, 664,
        674, 684, 694, 704, 713, 723, 732, 741, 750, 758, 766, 775, 782, 790, 797, 804,
        811, 817, 823, 828, 834, 839, 844, 848, 853, 857, 861, 865, 868, 872, 875, 878,
        881, 884, 887, 890, 892, 895, 898, 900, 903, 905, 908, 910, 913, 915, 918, 921,
        924, 926, 929, 932, 935, 937, 940, 943, 945, 948, 950, 952, 955, 957, 959, 961,
        964, 966, 968, 970, 972, 974, 976, 978, 979, 981, 983, 985, 987, 988, 990, 992,
        993, 994, 995, 996, 997, 998, 998, 999, 1000, 1001, 1002, 1002, 1003, 1004, 1005, 1006,
        1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1022, 1024
    },
    /* ISO */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    {1024, 1024, 1100, 1100, 1100, 1100, 1050, 1000, 1000, 1000, 900, 800, 800, 800, 800, 800}
};


static const ISP_CMOS_LSC_S g_stCmosLsc = {
    /* MeshStrength */
    256,
    /* MeshScale */
    4,
    /* ISP_LSC_CABLI_TABLE_S */
    {
        {
            // Rgain:
            {
                0x26b,  0x1de,  0x179,  0x12a,  0xee,   0xc4,   0xa2,   0x94,   0x94,   0x97,   0xad,   0xc8,   0x10d,  0x133,  0x184,  0x1fd,  0x284,
                0x235,  0x1ba,  0x158,  0x10d,  0xd3,   0xad,   0x8c,   0x7b,   0x74,   0x7b,   0x90,   0xaf,   0xd8,   0x114,  0x164,  0x1d1,  0x253,
                0x210,  0x194,  0x136,  0xec,   0xbc,   0x91,   0x6f,   0x5d,   0x59,   0x5f,   0x75,   0x94,   0xbf,   0xf7,   0x149,  0x1ac,  0x229,
                0x1e1,  0x177,  0x11a,  0xd7,   0xa6,   0x7c,   0x5b,   0x44,   0x3e,   0x4a,   0x5c,   0x7d,   0xab,   0xe2,   0x127,  0x18f,  0x200,
                0x1c8,  0x15f,  0x10d,  0xc9,   0x98,   0x69,   0x4a,   0x32,   0x2a,   0x33,   0x4a,   0x6b,   0x9e,   0xd0,   0x113,  0x175,  0x1e5,
                0x1b6,  0x14f,  0xf9,   0xbf,   0x84,   0x57,   0x34,   0x21,   0x18,   0x21,   0x3a,   0x5e,   0x8e,   0xc2,   0x105,  0x162,  0x1d8,
                0x1a9,  0x140,  0xef,   0xb4,   0x7d,   0x50,   0x2d,   0x11,   0xa,    0x15,   0x2f,   0x57,   0x83,   0xb9,   0xfb,   0x156,  0x1c3,
                0x1a5,  0x134,  0xe9,   0xae,   0x7a,   0x4b,   0x26,   0x8,    0x4,    0xc,    0x28,   0x4f,   0x7f,   0xb8,   0xf7,   0x151,  0x1bf,
                0x19d,  0x134,  0xe8,   0xac,   0x75,   0x48,   0x34,   0x4,    0x0,    0xa,    0x25,   0x50,   0x7e,   0xb5,   0xf8,   0x150,  0x1bd,
                0x199,  0x134,  0xea,   0xae,   0x73,   0x4b,   0x32,   0x5,    0x2,    0xd,    0x2a,   0x4e,   0x83,   0xbc,   0xf9,   0x151,  0x1c0,
                0x1a5,  0x139,  0xee,   0xb1,   0x7e,   0x51,   0x2f,   0x14,   0xd,    0x16,   0x31,   0x56,   0x86,   0xbb,   0x100,  0x158,  0x1c3,
                0x1b2,  0x147,  0xfe,   0xbd,   0x87,   0x5f,   0x3b,   0x24,   0x1b,   0x24,   0x43,   0x64,   0x90,   0xc8,   0x107,  0x164,  0x1d2,
                0x1c1,  0x159,  0x107,  0xca,   0x94,   0x6e,   0x4d,   0x36,   0x30,   0x36,   0x4e,   0x74,   0x9b,   0xd1,   0x11a,  0x173,  0x1e2,
                0x1de,  0x16f,  0x119,  0xda,   0xa7,   0x7f,   0x64,   0x4e,   0x45,   0x4f,   0x62,   0x86,   0xb1,   0xe6,   0x128,  0x188,  0x1fd,
                0x1f9,  0x18a,  0x131,  0xf2,   0xbf,   0x99,   0x79,   0x65,   0x60,   0x6a,   0x7b,   0x9e,   0xc9,   0xfb,   0x13d,  0x19f,  0x21e,
                0x21c,  0x1a9,  0x14b,  0x109,  0xd6,   0xb4,   0x96,   0x83,   0x7f,   0x83,   0x94,   0xb7,   0xe0,   0x115,  0x15d,  0x1c1,  0x23f,
                0x244,  0x1c8,  0x167,  0x127,  0xf5,   0xcc,   0xb1,   0x9f,   0x99,   0x98,   0xb3,   0xce,   0xf7,   0x12e,  0x17a,  0x1e9,  0x262,
            },

            // Grgain:
            {
                0x27c,  0x1fd,  0x18b,  0x138,  0xfb,   0xd2,   0xb1,   0xa3,   0x9d,   0xa0,   0xb7,   0xd8,   0x11d,  0x141,  0x1a4,  0x21c,  0x2ab,
                0x24a,  0x1d0,  0x164,  0x113,  0xde,   0xb4,   0x96,   0x83,   0x7e,   0x84,   0x9a,   0xbb,   0xe8,   0x128,  0x17a,  0x1ec,  0x274,
                0x21c,  0x1a8,  0x140,  0xf8,   0xc5,   0x9b,   0x77,   0x64,   0x5d,   0x67,   0x80,   0x9f,   0xca,   0x105,  0x15a,  0x1c1,  0x24e,
                0x1f6,  0x18b,  0x127,  0xe6,   0xaf,   0x82,   0x62,   0x4b,   0x46,   0x4e,   0x64,   0x85,   0xb6,   0xee,   0x13c,  0x1a6,  0x22d,
                0x1de,  0x170,  0x118,  0xd3,   0x9d,   0x6f,   0x4c,   0x35,   0x2a,   0x37,   0x4f,   0x76,   0xa3,   0xdb,   0x123,  0x187,  0x20b,
                0x1ca,  0x15c,  0x107,  0xc6,   0x8e,   0x5d,   0x3c,   0x21,   0x19,   0x27,   0x41,   0x68,   0x94,   0xce,   0x116,  0x17a,  0x1fa,
                0x1b4,  0x151,  0xfc,   0xbd,   0x85,   0x54,   0x31,   0x12,   0x9,    0x16,   0x34,   0x5c,   0x89,   0xc6,   0x10a,  0x16b,  0x1e5,
                0x1ae,  0x147,  0xf7,   0xb7,   0x80,   0x53,   0x29,   0xa,    0x4,    0x12,   0x2c,   0x56,   0x86,   0xc1,   0x103,  0x166,  0x1dc,
                0x1ac,  0x144,  0xf5,   0xb5,   0x7d,   0x4c,   0x37,   0x7,    0x1,    0xc,    0x2a,   0x55,   0x83,   0xbe,   0x101,  0x166,  0x1d7,
                0x1aa,  0x145,  0xf9,   0xb6,   0x82,   0x52,   0x3a,   0xb,    0x5,    0xd,    0x2d,   0x57,   0x88,   0xc0,   0x102,  0x162,  0x1dc,
                0x1b4,  0x14d,  0xfe,   0xbc,   0x87,   0x5c,   0x36,   0x16,   0xf,    0x19,   0x36,   0x5f,   0x8f,   0xca,   0x10d,  0x16b,  0x1e2,
                0x1be,  0x15a,  0x10b,  0xca,   0x90,   0x63,   0x3e,   0x26,   0x1f,   0x2b,   0x44,   0x69,   0x9c,   0xd2,   0x119,  0x175,  0x1f3,
                0x1c9,  0x16a,  0x114,  0xd5,   0x9e,   0x77,   0x54,   0x3a,   0x33,   0x3a,   0x54,   0x79,   0xa8,   0xe1,   0x127,  0x184,  0x203,
                0x1ed,  0x186,  0x12a,  0xe7,   0xb1,   0x87,   0x6a,   0x55,   0x4c,   0x54,   0x6d,   0x8f,   0xbb,   0xf4,   0x137,  0x1a0,  0x21a,
                0x20d,  0x1a0,  0x140,  0xfc,   0xc7,   0xa3,   0x81,   0x6d,   0x66,   0x71,   0x85,   0xa5,   0xd3,   0x108,  0x152,  0x1b9,  0x23c,
                0x231,  0x1bf,  0x160,  0x119,  0xe6,   0xbd,   0x9e,   0x8a,   0x84,   0x8c,   0xa2,   0xc5,   0xf0,   0x123,  0x16d,  0x1da,  0x260,
                0x25c,  0x1e1,  0x17f,  0x136,  0xfd,   0xda,   0xbe,   0xaa,   0x9f,   0xa9,   0xbb,   0xda,   0x104,  0x13e,  0x18e,  0x1ff,  0x285,
            },

            // Gbgain:
            {
                0x28b,  0x1fd,  0x18e,  0x139,  0xfd,   0xd7,   0xb6,   0xa3,   0xa4,   0xa9,   0xbc,   0xde,   0x126,  0x14d,  0x1a5,  0x21f,  0x2b1,
                0x256,  0x1d6,  0x16a,  0x11d,  0xe4,   0xb9,   0x9b,   0x87,   0x83,   0x8b,   0xa0,   0xc1,   0xec,   0x12e,  0x183,  0x1f5,  0x284,
                0x229,  0x1ad,  0x142,  0xfb,   0xc9,   0x9f,   0x7c,   0x6a,   0x62,   0x6c,   0x84,   0xa4,   0xd2,   0x10f,  0x15f,  0x1ce,  0x252,
                0x201,  0x18a,  0x129,  0xe8,   0xb1,   0x86,   0x67,   0x4d,   0x4b,   0x51,   0x6a,   0x8b,   0xbc,   0xf9,   0x140,  0x1ac,  0x229,
                0x1ea,  0x176,  0x116,  0xd2,   0x9e,   0x73,   0x4e,   0x38,   0x2f,   0x3c,   0x54,   0x7a,   0xaa,   0xe0,   0x127,  0x18f,  0x211,
                0x1ce,  0x160,  0x107,  0xc8,   0x94,   0x5f,   0x3d,   0x22,   0x1e,   0x28,   0x43,   0x6b,   0x9a,   0xd1,   0x11c,  0x17d,  0x1fa,
                0x1bf,  0x153,  0x101,  0xbe,   0x86,   0x54,   0x2f,   0x14,   0xc,    0x1b,   0x36,   0x60,   0x91,   0xc9,   0x110,  0x16f,  0x1eb,
                0x1bf,  0x14a,  0xfa,   0xb8,   0x81,   0x4f,   0x28,   0xb,    0x3,    0x11,   0x2e,   0x56,   0x8a,   0xc6,   0x10a,  0x16a,  0x1e2,
                0x1b1,  0x149,  0xfa,   0xb8,   0x7f,   0x50,   0x37,   0x8,    0x0,    0xf,    0x2e,   0x57,   0x89,   0xc2,   0x107,  0x16a,  0x1df,
                0x1b9,  0x148,  0xf9,   0xba,   0x82,   0x54,   0x36,   0xd,    0x5,    0x10,   0x2f,   0x5a,   0x8b,   0xc5,   0x10a,  0x167,  0x1dd,
                0x1c0,  0x150,  0x100,  0xbf,   0x86,   0x5a,   0x34,   0x16,   0x10,   0x18,   0x39,   0x61,   0x91,   0xcb,   0x115,  0x171,  0x1e9,
                0x1d0,  0x15d,  0x10b,  0xc9,   0x93,   0x66,   0x43,   0x26,   0x1f,   0x29,   0x46,   0x6d,   0x9f,   0xd4,   0x11a,  0x17d,  0x1f3,
                0x1e1,  0x16e,  0x11a,  0xd6,   0x9d,   0x76,   0x54,   0x3c,   0x35,   0x40,   0x59,   0x7b,   0xad,   0xe4,   0x128,  0x187,  0x20a,
                0x200,  0x184,  0x12c,  0xe8,   0xb3,   0x87,   0x66,   0x51,   0x4d,   0x55,   0x6d,   0x93,   0xbd,   0xf9,   0x13f,  0x1a2,  0x21d,
                0x214,  0x1a4,  0x145,  0xfd,   0xc7,   0x9f,   0x82,   0x6d,   0x66,   0x6d,   0x86,   0xa8,   0xd7,   0x10c,  0x155,  0x1bd,  0x246,
                0x242,  0x1c2,  0x161,  0x119,  0xe4,   0xb9,   0x9d,   0x8f,   0x83,   0x8d,   0xa3,   0xc4,   0xf1,   0x12a,  0x174,  0x1e1,  0x26b,
                0x261,  0x1de,  0x17f,  0x131,  0xfd,   0xd8,   0xbc,   0xac,   0x9d,   0xa9,   0xbe,   0xe0,   0x109,  0x142,  0x193,  0x208,  0x28f,
            },

            // Bgain:
            {
                0x28e,  0x202,  0x186,  0x12f,  0xfb,   0xcc,   0xb4,   0xa4,   0xa4,   0xa9,   0xba,   0xe2,   0x120,  0x14b,  0x1a5,  0x220,  0x2b6,
                0x251,  0x1d8,  0x16e,  0x114,  0xde,   0xb3,   0x92,   0x83,   0x81,   0x88,   0xa1,   0xbe,   0xec,   0x128,  0x17d,  0x1f1,  0x274,
                0x228,  0x1ac,  0x144,  0xfc,   0xc2,   0x97,   0x7c,   0x67,   0x61,   0x67,   0x7e,   0x9e,   0xcf,   0x107,  0x155,  0x1c9,  0x252,
                0x1fa,  0x183,  0x12a,  0xe4,   0xb0,   0x83,   0x61,   0x4d,   0x48,   0x50,   0x67,   0x86,   0xb4,   0xec,   0x133,  0x1a4,  0x22c,
                0x1da,  0x16d,  0x113,  0xcd,   0x9f,   0x70,   0x4e,   0x3a,   0x2f,   0x3c,   0x51,   0x75,   0xa0,   0xdb,   0x11e,  0x185,  0x201,
                0x1c5,  0x15d,  0x101,  0xc5,   0x8b,   0x5b,   0x41,   0x24,   0x1e,   0x27,   0x3d,   0x65,   0x93,   0xce,   0x114,  0x179,  0x1fc,
                0x1bc,  0x150,  0xfb,   0xbe,   0x87,   0x57,   0x30,   0x17,   0xd,    0x18,   0x37,   0x5f,   0x8b,   0xbf,   0x105,  0x16b,  0x1e9,
                0x1ac,  0x147,  0xf1,   0xb8,   0x80,   0x4f,   0x29,   0xf,    0x5,    0x10,   0x32,   0x5c,   0x88,   0xc2,   0x107,  0x160,  0x1d4,
                0x1af,  0x143,  0xf7,   0xb4,   0x7d,   0x4f,   0x3a,   0x7,    0x1,    0xc,    0x2f,   0x57,   0x8b,   0xc0,   0x102,  0x15f,  0x1d8,
                0x1a8,  0x147,  0xf5,   0xb6,   0x80,   0x51,   0x37,   0xc,    0x5,    0x10,   0x2f,   0x5a,   0x8b,   0xc8,   0x108,  0x163,  0x1da,
                0x1bc,  0x151,  0xfb,   0xba,   0x8a,   0x59,   0x36,   0x15,   0xf,    0x1b,   0x38,   0x62,   0x92,   0xc9,   0x10e,  0x171,  0x1ec,
                0x1cd,  0x156,  0x105,  0xc6,   0x8c,   0x66,   0x45,   0x27,   0x23,   0x27,   0x47,   0x6f,   0x9a,   0xd8,   0x115,  0x17e,  0x1ee,
                0x1da,  0x16c,  0x110,  0xd2,   0x9e,   0x78,   0x54,   0x3d,   0x38,   0x3e,   0x58,   0x78,   0xad,   0xe3,   0x126,  0x186,  0x20d,
                0x201,  0x18e,  0x12b,  0xe2,   0xb1,   0x87,   0x67,   0x54,   0x51,   0x58,   0x6c,   0x93,   0xb8,   0xf4,   0x13b,  0x1a3,  0x229,
                0x217,  0x1aa,  0x147,  0x100,  0xc8,   0xa0,   0x82,   0x6c,   0x66,   0x6c,   0x86,   0xa9,   0xd0,   0x107,  0x156,  0x1bb,  0x23b,
                0x232,  0x1c2,  0x165,  0x117,  0xe4,   0xbf,   0xa2,   0x8c,   0x85,   0x8a,   0x9f,   0xc1,   0xeb,   0x126,  0x16b,  0x1dd,  0x26c,
                0x262,  0x1ea,  0x17c,  0x132,  0xf7,   0xd2,   0xc0,   0xa9,   0x9f,   0xa5,   0xb9,   0xd3,   0x102,  0x137,  0x184,  0x206,  0x289,
            },
        },

        {
            // Rgain:
            {
                0x399,  0x2df,  0x23e,  0x1cd,  0x170,  0x135,  0xfc,   0xdb,   0xda,   0xe4,   0xfd,  0x12f,  0x16e,  0x1d4,  0x24e,  0x2ee,  0x3e2,
                0x372,  0x2b0,  0x20f,  0x19a,  0x140,  0x109,  0xdc,   0xb7,   0xaf,   0xbe,   0xd5,  0x105,  0x14c,  0x1a4,  0x225,  0x2b8,  0x384,
                0x32a,  0x276,  0x1e3,  0x174,  0x11c,  0xda,   0xaf,   0x92,   0x88,   0x97,   0xac,  0xec,   0x125,  0x180,  0x200,  0x289,  0x34f,
                0x2f6,  0x24f,  0x1bd,  0x14b,  0xfd,   0xba,   0x89,   0x6c,   0x61,   0x71,   0x89,  0xc6,   0x107,  0x15a,  0x1c7,  0x262,  0x319,
                0x2c9,  0x229,  0x1a5,  0x135,  0xdb,   0x9b,   0x6a,   0x4a,   0x3f,   0x4e,   0x6c,  0xa5,   0xeb,   0x13e,  0x1b1,  0x23d,  0x2e3,
                0x2b9,  0x211,  0x187,  0x11b,  0xc9,   0x81,   0x4d,   0x2b,   0x21,   0x2f,   0x58,  0x8f,   0xda,   0x12a,  0x196,  0x229,  0x2c8,
                0x29c,  0x1fb,  0x16e,  0x10d,  0xb5,   0x6e,   0x37,   0x11,   0x7,    0x1a,   0x46,  0x7b,   0xc3,   0x118,  0x187,  0x210,  0x2b7,
                0x2bc,  0x1f5,  0x16b,  0x106,  0xb1,   0x61,   0x2e,   0x4,    0x0,    0xe,    0x3a,  0x71,   0xba,   0x113,  0x17f,  0x206,  0x2a4,
                0x33a,  0x1f3,  0x165,  0xfd,   0xab,   0x62,   0x2d,   0x2,    0x3,    0x8,    0x35,  0x6e,   0xb6,   0x10f,  0x179,  0x202,  0x29f,
                0x2f0,  0x1e6,  0x165,  0x103,  0xac,   0x63,   0x30,   0x7,    0x1,    0xb,    0x36,  0x70,   0xb8,   0x112,  0x176,  0x208,  0x2a4,
                0x2d2,  0x1f4,  0x171,  0x106,  0xb6,   0x70,   0x38,   0x15,   0xa,    0x18,   0x40,  0x78,   0xbf,   0x11c,  0x181,  0x20c,  0x2ac,
                0x2d0,  0x202,  0x17e,  0x118,  0xc0,   0x7c,   0x4a,   0x2e,   0x1d,   0x2e,   0x4f,  0x87,   0xcd,   0x122,  0x190,  0x21a,  0x2bb,
                0x2be,  0x216,  0x194,  0x12d,  0xd9,   0x99,   0x64,   0x49,   0x3d,   0x48,   0x68,  0x9d,   0xdd,   0x13f,  0x1a3,  0x229,  0x2cf,
                0x2e4,  0x236,  0x1bb,  0x144,  0xf0,   0xb5,   0x81,   0x63,   0x62,   0x66,   0x86,  0xb7,   0xfb,   0x14e,  0x1be,  0x249,  0x2ed,
                0x30c,  0x26c,  0x1ce,  0x164,  0x110,  0xd4,   0xa4,   0x86,   0x7f,   0x86,   0xa6,  0xd7,   0x115,  0x171,  0x1da,  0x270,  0x31c,
                0x339,  0x28d,  0x1fb,  0x18d,  0x133,  0xf6,   0xc5,   0xaa,   0xa1,   0xae,   0xca,  0xf8,   0x138,  0x195,  0x210,  0x2a1,  0x355,
                0x37f,  0x2be,  0x229,  0x1b1,  0x159,  0x118,  0xeb,   0xd3,   0xc6,   0xd4,   0xed,  0x11f,  0x15d,  0x1cd,  0x23d,  0x2cc,  0x388,
            },

            // Grgain:
            {
                0x324,  0x279,  0x1f5,  0x191,  0x148,  0x113,   0xe4,   0xcd,   0xc9,   0xd4,   0xf2,  0x11f,  0x164,  0x1b6,  0x22c,  0x2ba,  0x392,
                0x2f1,  0x250,  0x1cb,  0x16c,  0x11f,  0xe9,    0xc2,   0xa8,   0xa5,   0xb1,   0xcf,  0xfa,   0x13d,  0x193,  0x208,  0x28d,  0x349,
                0x2b8,  0x225,  0x1a9,  0x148,  0xfa,   0xc5,    0x9c,   0x80,   0x7e,   0x8e,   0xa5,  0xe3,   0x11b,  0x16e,  0x1e6,  0x266,  0x316,
                0x28b,  0x201,  0x18e,  0x12a,  0xe4,   0xa5,    0x79,   0x60,   0x59,   0x6a,   0x85,  0xbf,   0xfe,   0x151,  0x1b7,  0x243,  0x2e3,
                0x26b,  0x1e5,  0x174,  0x111,  0xc4,   0x88,    0x5d,   0x40,   0x39,   0x4a,   0x69,  0xa2,   0xea,   0x137,  0x19e,  0x223,  0x2b8,
                0x253,  0x1cd,  0x159,  0xfc,   0xb2,   0x73,    0x43,   0x26,   0x1e,   0x30,   0x57,  0x90,   0xd8,   0x124,  0x188,  0x211,  0x2a4,
                0x247,  0x1bd,  0x14c,  0xf2,   0xa4,   0x65,    0x31,   0x10,   0x6,    0x1a,   0x49,  0x7c,   0xc3,   0x116,  0x17a,  0x201,  0x292,
                0x263,  0x1b6,  0x141,  0xec,   0xa1,   0x5a,    0x26,   0x3,    0x1,    0xf,    0x3f,  0x74,   0xb9,   0x111,  0x172,  0x1f3,  0x285,
                0x2dc,  0x1b4,  0x13e,  0xe6,   0x98,   0x56,    0x25,   0x1,    0x5,    0xb,    0x38,  0x71,   0xb8,   0x10e,  0x16f,  0x1ed,  0x281,
                0x291,  0x1af,  0x142,  0xe5,   0x9d,   0x5a,    0x2b,   0x7,    0x2,    0xe,    0x3c,  0x74,   0xbb,   0x10f,  0x170,  0x1f0,  0x27f,
                0x28d,  0x1b7,  0x14b,  0xee,   0xa5,   0x64,    0x35,   0x13,   0xa,    0x1c,   0x42,  0x7d,   0xbe,   0x116,  0x17b,  0x1f8,  0x28c,
                0x27e,  0x1c3,  0x156,  0xfc,   0xb1,   0x76,    0x46,   0x2e,   0x1f,   0x2f,   0x55,  0x8c,   0xd1,   0x127,  0x185,  0x207,  0x2a5,
                0x265,  0x1d8,  0x169,  0x111,  0xc5,   0x8a,    0x5c,   0x49,   0x3f,   0x4c,   0x6e,  0xa0,   0xe2,   0x13b,  0x199,  0x215,  0x2ac,
                0x282,  0x1f2,  0x188,  0x125,  0xde,   0xa5,    0x79,   0x5e,   0x63,   0x67,   0x89,  0xb8,   0xf8,   0x14c,  0x1ae,  0x231,  0x2cb,
                0x2a6,  0x221,  0x19c,  0x141,  0xfb,   0xc2,    0x9a,   0x82,   0x7d,   0x88,   0xa6,  0xd6,   0x114,  0x168,  0x1cd,  0x257,  0x2f4,
                0x2cd,  0x240,  0x1c2,  0x166,  0x11e,  0xe7,    0xbc,   0xa8,   0xa0,   0xac,   0xca,  0xf7,   0x138,  0x18a,  0x1f8,  0x27d,  0x31d,
                0x317,  0x268,  0x1ef,  0x189,  0x13b,  0x106,   0xde,   0xc9,   0xc3,   0xd3,   0xed,  0x119,  0x15a,  0x1c1,  0x221,  0x2a9,  0x357,
            },

            // Gbgain:
            {
                0x32b,  0x277,  0x1f2,  0x18f,  0x148,  0x116,   0xe3,   0xc9,   0xc9,   0xd5,   0xf1,  0x11c,  0x15a,  0x1b4,  0x22d,  0x2bd,  0x38d,
                0x2f4,  0x24d,  0x1ca,  0x16d,  0x11b,  0xea,    0xc4,   0xa8,   0xa3,   0xb3,   0xc9,  0xfb,   0x13d,  0x190,  0x204,  0x28e,  0x348,
                0x2b8,  0x221,  0x1a8,  0x149,  0xfe,   0xc5,    0x9b,   0x80,   0x7a,   0x8e,   0xa6,  0xe2,   0x119,  0x16f,  0x1e4,  0x269,  0x315,
                0x28e,  0x201,  0x18a,  0x12d,  0xe3,   0xa2,    0x78,   0x60,   0x58,   0x6c,   0x86,  0xc0,   0xfc,   0x14e,  0x1b9,  0x242,  0x2e7,
                0x270,  0x1e1,  0x178,  0x115,  0xc5,   0x8a,    0x5e,   0x41,   0x3a,   0x4b,   0x6a,  0xa2,   0xe7,   0x136,  0x19e,  0x225,  0x2bd,
                0x258,  0x1ce,  0x15c,  0xff,   0xb1,   0x75,    0x44,   0x26,   0x1e,   0x30,   0x57,  0x8d,   0xd7,   0x125,  0x18c,  0x212,  0x2a7,
                0x241,  0x1bd,  0x14f,  0xf2,   0xa5,   0x65,    0x30,   0x11,   0x7,    0x1b,   0x48,  0x7d,   0xc3,   0x118,  0x17b,  0x1ff,  0x297,
                0x26b,  0x1ba,  0x147,  0xef,   0xa1,   0x5b,    0x28,   0x4,    0x1,    0x10,   0x3e,  0x75,   0xba,   0x112,  0x171,  0x1f4,  0x28b,
                0x2de,  0x1b6,  0x140,  0xe5,   0x98,   0x5a,    0x27,   0x1,    0x5,    0xb,    0x37,  0x71,   0xb8,   0x10f,  0x171,  0x1f2,  0x27f,
                0x293,  0x1b0,  0x144,  0xe6,   0x9c,   0x5a,    0x2c,   0x7,    0x4,    0xe,    0x39,  0x74,   0xbc,   0x10f,  0x16e,  0x1f4,  0x282,
                0x285,  0x1ba,  0x14b,  0xef,   0xa5,   0x66,    0x36,   0x15,   0xb,    0x1d,   0x46,  0x7c,   0xc1,   0x117,  0x17c,  0x1f8,  0x293,
                0x27c,  0x1c5,  0x159,  0xfd,   0xb1,   0x79,    0x47,   0x2e,   0x1f,   0x33,   0x56,  0x8e,   0xce,   0x129,  0x187,  0x206,  0x295,
                0x266,  0x1db,  0x16d,  0x111,  0xc6,   0x8d,    0x5f,   0x49,   0x3f,   0x4a,   0x6f,  0xa3,   0xe1,   0x13a,  0x19c,  0x219,  0x2ac,
                0x280,  0x1f4,  0x18a,  0x126,  0xde,   0xa5,    0x7e,   0x61,   0x61,   0x67,   0x87,  0xbd,   0xf6,   0x14e,  0x1ae,  0x232,  0x2cb,
                0x2ae,  0x21f,  0x1a0,  0x141,  0xf8,   0xc4,    0x99,   0x84,   0x7f,   0x89,   0xa6,  0xd4,   0x115,  0x169,  0x1d1,  0x255,  0x2f2,
                0x2d4,  0x243,  0x1c6,  0x165,  0x11a,  0xe6,    0xc0,   0xa8,   0xa0,   0xaa,   0xca,  0xfc,   0x137,  0x18a,  0x1f9,  0x282,  0x324,
                0x310,  0x26a,  0x1f0,  0x18a,  0x13d,  0x108,   0xde,   0xca,   0xc3,   0xcf,   0xf0,  0x11d,  0x15b,  0x1c1,  0x227,  0x2aa,  0x360,
            },

            // Bgain:
            {
                0x2f0,  0x24a,  0x1d2,  0x175,  0x137,  0x105,   0xd7,   0xbd,   0xc0,   0xca,   0xec,   0x10f,  0x14b,  0x1a7,  0x21b,  0x29c,  0x35e,
                0x2b8,  0x228,  0x1ad,  0x155,  0x114,  0xe1,    0xbe,   0xa0,   0x9d,   0xad,   0xc1,   0xf3,   0x138,  0x183,  0x1f5,  0x278,  0x325,
                0x28f,  0x1fe,  0x18b,  0x138,  0xf1,   0xbc,    0x96,   0x7e,   0x78,   0x8a,   0xa2,   0xda,   0x114,  0x162,  0x1d6,  0x253,  0x2f5,
                0x25e,  0x1df,  0x171,  0x11b,  0xd7,   0x9f,    0x76,   0x5d,   0x5b,   0x69,   0x84,   0xbd,   0xf9,   0x14a,  0x1ae,  0x232,  0x2c8,
                0x249,  0x1c4,  0x15d,  0x105,  0xba,   0x83,    0x5a,   0x3c,   0x37,   0x4c,   0x67,   0x9f,   0xe7,   0x12f,  0x195,  0x214,  0x2a1,
                0x234,  0x1af,  0x141,  0xf0,   0xa8,   0x71,    0x3e,   0x23,   0x1d,   0x30,   0x58,   0x91,   0xd3,   0x122,  0x180,  0x202,  0x287,
                0x21e,  0x19d,  0x138,  0xe3,   0x9d,   0x61,    0x2e,   0xf,    0x6,    0x1a,   0x47,   0x7c,   0xbf,   0x119,  0x171,  0x1f5,  0x279,
                0x244,  0x19f,  0x133,  0xdd,   0x97,   0x56,    0x28,   0x4,    0x1,    0x11,   0x3d,   0x77,   0xbc,   0x10f,  0x16f,  0x1e9,  0x276,
                0x2a9,  0x19e,  0x12e,  0xda,   0x92,   0x54,    0x24,   0x4,    0x7,    0xd,    0x3c,   0x75,   0xb4,   0x10b,  0x168,  0x1e9,  0x271,
                0x267,  0x192,  0x128,  0xd9,   0x96,   0x56,    0x2a,   0x6,    0x7,    0x10,   0x3d,   0x74,   0xb6,   0x10c,  0x168,  0x1e4,  0x271,
                0x263,  0x19a,  0x134,  0xdd,   0x9d,   0x65,    0x37,   0x16,   0xe,    0x1f,   0x46,   0x79,   0xbd,   0x112,  0x170,  0x1ef,  0x286,
                0x254,  0x1a5,  0x143,  0xf0,   0xa7,   0x70,    0x46,   0x2e,   0x21,   0x33,   0x55,   0x90,   0xcb,   0x11d,  0x17d,  0x1f9,  0x287,
                0x236,  0x1bd,  0x153,  0x100,  0xba,   0x84,    0x57,   0x45,   0x42,   0x50,   0x6d,   0xa2,   0xde,   0x137,  0x194,  0x20a,  0x297,
                0x25b,  0x1db,  0x175,  0x115,  0xd2,   0x9b,    0x76,   0x5b,   0x5f,   0x69,   0x8a,   0xba,   0xf4,   0x149,  0x1a4,  0x226,  0x2bb,
                0x27d,  0x1fb,  0x186,  0x132,  0xef,   0xbc,    0x97,   0x81,   0x7d,   0x86,   0xa4,   0xd5,   0x112,  0x15e,  0x1bc,  0x242,  0x2da,
                0x2a9,  0x21f,  0x1aa,  0x151,  0x10e,  0xdc,    0xb7,   0xa3,   0x99,   0xaa,   0xc6,   0xee,   0x130,  0x183,  0x1f3,  0x264,  0x304,
                0x2d0,  0x245,  0x1da,  0x175,  0x12c,  0xf9,    0xdb,   0xc3,   0xbb,   0xc8,   0xe7,   0x114,  0x14d,  0x1b2,  0x218,  0x29b,  0x338,
            },
        },
    },
};


#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */


#endif /* __SC2231_CMOS_EX_H_ */
